home *** CD-ROM | disk | FTP | other *** search
Ami Pro/Word Pro document | 1994-08-11 | 14.9 KB | 422 lines |
- [ver]
- [sty]
- jmacro.sty
- [files]
- [charset]
- SHIFTJIS (Windows)
- [revisions]
- [prn]
- QMS-PS 810
- [port]
- LPT1:
- [lang]
- [desc]
- BUILD.SMM
- 752802295
- 736633139
- [fopts]
- [lnopts]
- Body Text
- [docopts]
- [GramStyle]
- [lay]
- Standard
- [rght]
- 15840
- 12240
- 576
- 720
- 1080
- 576
- 576
- 11664
- 720
- 1440
- 2160
- 2880
- 3600
- 4320
- 5040
- 5760
- 6480
- 7200
- 7920
- 8640
- [hrght]
- [lyfrm]
- 11200
- 12240
- 1080
- 1 0 0 0 0 0 0
- [frmlay]
- 1080
- 12240
- 1440
- 792
- 1440
- 1440
- 10800
- 4680
- 9360
- [txt]
- [frght]
- [lyfrm]
- 13248
- 15120
- 12240
- 15840
- 1 0 0 0 0 0 0
- [frmlay]
- 15840
- 12240
- 1440
- 648
- 15192
- 1440
- 1440
- 10800
- 4680
- 9360
- [txt]
- [elay]
- 58 0 15 0 0 0 0 65535 65535 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
- 116 0 59 0 0 0 0 65535 65535 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
- 170 0 5 512 0 0 0 65535 65535 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
- 228 0 32 0 0 1 0 65535 65535 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
- 285 0 11 0 0 1 0 65535 65535 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
- 331 0 10 1025 0 0 0 65535 65535 Standard 65535 0 0 0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
- [edoc]
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>' Declare functions
- <:#240,11088>Declare FontDlg(Action, Hdlg, id)
- <:#240,11088>Declare CellEngine(action,Form)
- <:#240,11088>Declare StrPath(Filename)
- <:#240,11088>Declare SizeBox(Hdlg, NumberEditControls)
- <:#240,11088>Declare GetFormats(Action)
- <:#240,11088>
- <:#240,11088>' WinApi defines
- <:#240,11088>Define SetWindowText(hwnd, text) DllCall("user,SetWindowText,IHC", %1, %2)
- <:#240,11088>Define MoveWindow() DllCall("User,MoveWindow,HHHHHHA",%1,%2,%3,%4,%5,%6)
- <:#240,11088>DEFINE GetWindowRect() DllCall("user,GetWindowRect,HHN",%1,%2)
- <:#240,11088>Define ShowWindow(hWnd, stuff) DllCall("user,ShowWindow,HHH", %1, %2)
- <:#240,11088>Define getsystemmetrics() dllcall("user,getsystemmetrics,HH", %1)
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>Define GetPrefix() GetGlobalVar$("Prefix")
- <:#240,11088>Define GetSuffix() GetGlobalVar$("Suffix")
- <:#240,11088>
- <:#240,11088>
- @<:#240,11088>Function Main()
- <:#240,11088>DefStr hInstance;
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>Mac = GetRunningMacroFile$()
- <:#240,11088>MacPath = StrPath(Mac)
- <:#240,11088>FontDlg(1,0,0)
- <:#240,11088>CellEngine(1,0)
- <:#240,11088>GetFormats(1)
- <:#240,11088>FillEdit(1000, HelpText)
- <:#240,11088>SetDlgCallBack(0,"{Mac}!InitDlg")
- <:#240,11088>For Id = 8001 to 8009
- <:#240,11088> SetDlgCallBack(Id, "{Mac}!DataChange")
- <:#240,11088>Next
- <:#240,11088>
- <:#240,11088>FillEdit(1001, Value1Text)
- <:#240,11088>FillEdit(1002, Value2Text)
- <:#240,11088>FillEdit(1003, Value3Text)
- <:#240,11088>FillEdit(1004, Value4Text)
- <:#240,11088>FillEdit(1005, Value5Text)
- <:#240,11088>FillEdit(1006, Value6Text)
- <:#240,11088>FillEdit(1007, Value7Text)
- <:#240,11088>FillEdit(1008, Value8Text)
- <:#240,11088>FillEdit(1009, Value9Text)
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>Box = DialogBox(".","Deprec")
- <:#240,11088>If Box = 3
- <:#240,11088> ' box closed with the copy button
- <:#240,11088> Answer = GetDialogField$(8010)
- <:#240,11088> ClipBoardWrite(Answer,1)
- <:#240,11088>Endif
- <:#240,11088>
- <:#240,11088>FontDlg(4,0,0)
- <:#240,11088>CellEngine(0,0)
- <:#240,11088>GetFormats(0)
- <:#240,11088>End function
- <:#240,11088>
- <:#240,11088>
- @<:#240,11088>Function DataChange(Hdlg, id, value)
- <:#240,11088>IgnoreKeyBoard(2)
- <:#240,11088>DefStr Allowance;
- <:#240,11088>Value1 = GetDlgItemText(hDlg, 8001) * 1
- <:#240,11088>Value2 = GetDlgItemText(hDlg, 8002) * 1
- <:#240,11088>value3 = GetDlgItemText(hDlg, 8003) * 1
- <:#240,11088>value4 = GetDlgItemText(hDlg, 8004) * 1
- <:#240,11088>value5 = GetDlgItemText(hDlg, 8005) * 1
- <:#240,11088>value6 = GetDlgItemText(hdlg, 8006) * 1
- <:#240,11088>value7 = GetDlgItemText(hdlg, 8007) * 1
- <:#240,11088>value8 = GetDlgItemText(hdlg, 8008) * 1
- <:#240,11088>value9 = GetDlgItemText(hdlg, 8009) * 1
- <:#240,11088>Answer = CellEngine(3,Formula)
- <:#240,11088>Answer = FormatNum$("","",2,Answer )
- <:#240,11088>SetDlgItemText(hDlg, 8010, Answer)
- <:#240,11088>End Function
- <:#240,11088>
- @<:#240,11088>Function InitDlg(hDlg, id, value)
- <:#240,11088>' use the fontdlg function to display the following control with a small font
- <:#240,11088>HourGlass(on)
- <:#240,11088>SetWindowText(Hdlg, DialogTitle)
- <:#240,11088>FontDlg(3, Hdlg, 1000)
- <:#240,11088>For Id = 1 to 9
- <:#240,11088> FontDlg(3, Hdlg, id + 1000)
- <:#240,11088> FontDlg(3, Hdlg, id + 8000)
- <:#240,11088> If Id <;> NumberItems
- <:#240,11088> ShowWindow(GetDlgItem(Hdlg, id + 1000), 0)
- <:#240,11088> ShowWindow(GetDlgItem(Hdlg, id + 8000), 0)
- <:#240,11088> Endif
- <:#240,11088>Next
- <:#240,11088>FontDlg(3, Hdlg, 8010)
- <:#240,11088>FontDlg(3, Hdlg, 8011)
- 'SizeBox(Hdlg, NumberItems)
- <:#240,11088>HourGlass(off)
- <:#240,11088>
- <:#240,11088>End Function
- <:#240,11088>
- <:#240,11088>
- @<:#240,11088>Function SizeBox(Hdlg, NumberEditControls)
- <:#240,11088>Define Repaint 1
- <:#240,11088>Dim Rect(4)
- <:#240,11088>Stat = GetSystemMetrics(4)
- <:#240,11088>GetWindowRect(Hdlg, &Rect)
- <:#240,11088>DeltaX = Rect(3) - Rect(1);
- <:#240,11088>NumberIncrease = (NumberEditControls - 3);
- <:#240,11088>If NumberIncrease <<0
- <:#240,11088> NumberIncrease = 0
- <:#240,11088>Endif
- <:#240,11088>If Stat = 20
- <:#240,11088> DeltaY = (20 * NumberIncrease) + 140;
- <:#240,11088>Else
- <:#240,11088> DeltaY = (26 * NumberIncrease) + 190;
- <:#240,11088>Endif
- <:#240,11088>MoveWindow(Hdlg, Rect(1), Rect(2), DeltaX, DeltaY, Repaint)
- <:#240,11088>End Function
- <:#240,11088>
- <:#240,11088>
- @<:#240,11088>Function GetFormats(Action)
- <:#240,11088>iCurrency = GetProfileString$("Intl","iCurrency","Win.ini")
- <:#240,11088>currency = GetProfileString$("Intl","sCurrency","Win.ini")
- <:#240,11088>AllocGlobalVar("Prefix",1)
- <:#240,11088>AllocGlobalVar("Suffix",1)
- <:#240,11088>
- <:#240,11088>Switch Action
- <:#240,11088> Case 1 ' turn this on
- <:#240,11088> Switch iCurrency
- <:#240,11088> Case 0
- <:#240,11088> Prefix = Currency
- <:#240,11088> Suffix = ""
- <:#240,11088> Case 1
- <:#240,11088> Prefix = ""
- <:#240,11088> Suffix = Currency
- <:#240,11088> Case 2
- <:#240,11088> Prefix = StrCat$(Currency," ")
- <:#240,11088> Suffix = ""
- <:#240,11088> Case 3
- <:#240,11088> Prefix = ""
- <:#240,11088> Suffix = StrCat$(" ",Currency)
- <:#240,11088> endSwitch
- <:#240,11088> SetGlobalVar("Suffix",Suffix)
- <:#240,11088> SetGlobalVar("Prefix",Prefix)
- <:#240,11088>
- <:#240,11088> Case 0 ' free globals
- <:#240,11088> FreeGlobalVar("Suffix")
- <:#240,11088> FreeGlobalVar("Prefix")
- <:#240,11088>
- <:#240,11088>EndSwitch
- <:#240,11088>End Function
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- @<:#240,11088>function strpath(filename)
- <:#240,11088>defstr char;
- <:#240,11088>Length = len(FileName)
- <:#240,11088>WHILE "\" != Assign(&Char, MID$(FileName, Length, 1))
- <:#240,11088> Length = Length - 1
- <:#240,11088>WEND
- <:#240,11088>InFileName = Right$(FileName, (len(FileName) - Length))
- <:#240,11088>InDir = Left$(FileName, Length - 1)
- <:#240,11088>if right$(indir, 1) <<<;> "\"
- <:#240,11088> indir = strcat$(indir, "\")
- <:#240,11088>endif
- <:#240,11088>return indir
- <:#240,11088>end function
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:p<* >>
- @<:#240,11088>Function CellEngine(Action,Form)
- <:#240,11088>'Available Actions
- <:#240,11088>' 1 Start the engine and allocate globalvar
- <:#240,11088>' 2 Return the handle to the instance of the sheet
- <:#240,11088>' 3 Pass the formula as the second param
- <:#240,11088>' 0 Shut everything down
- <:#240,11088>' Default Expect a formula and return an answer
- <:#240,11088>
- <:#240,11088>' these defines may be useful at the beginning of your macro
- <:#240,11088>Define StartEngine 1
- <:#240,11088>Define GetInstance 2
- <:#240,11088>Define CloseEngine 0
- <:#240,11088>
- <:#240,11088>Define CECREATEINSTANCE(LPHANDLE) DllCall("LTSCE01.DLL,CECREATEINSTANCE,HO",%1)
- <:#240,11088>Define CEDESTROYINSTANCE(HANDLE) DllCall("LTSCE01.DLL,CEDESTROYINSTANCE,HH",%1)
- <:#240,11088>Define CECALCNOW(HINSTANCE, lpFormula, lpOutPut) DllCall("LTSCE01.DLL,CECALCNOW,HHCC",%1,%2,%3)
- <:#240,11088>
- <:#240,11088>DefStr hInstance, Answer, Var;
- <:#240,11088>Mac = GetRunningMacroFile$()
- <:#240,11088>GlobalInstance = StrCat$(Mac,"hIstance")
- <:#240,11088>AmiDir = GetAmiDirectory$()
- <:#240,11088>
- <:#240,11088>Switch Action
- <:#240,11088> Case 1
- <:#240,11088> ' start the engine
- <:#240,11088> LibId = DLLLoadLib("{AmiDir}LTSCE01.DLL","CECreateInstance","HO")
- <:#240,11088> If LibId = 0
- <:#240,11088> Message("LTSCE01.DLL not found. Copy the dll to your Ami Pro Directory.")
- <:#240,11088> Return -1;
- <:#240,11088> Endif
- <:#240,11088> RetVal = CECREATEINSTANCE(&hInstance)
- <:#240,11088> AllocGlobalVar("{GlobalInstance}",1)
- <:#240,11088> AllocGlobalVar("{Mac}LibId",1)
- <:#240,11088> SetGlobalVar("{Mac}Libid",LibId)
- <:#240,11088> SetGlobalVar("{GlobalInstance}",hInstance)
- <:#240,11088> Return hInstance;
- <:#240,11088> Break;
- <:#240,11088>
- <:#240,11088> Case 2
- <:#240,11088> ' return the handle to the instance of the sheet
- <:#240,11088> AllocGlobalVar("{GlobalInstance}",1)
- <:#240,11088> hInstance = GetGlobalVar$("{GlobalInstance}")
- <:#240,11088> Return hInstance;
- <:#240,11088> Break;
- <:#240,11088>
- <:#240,11088> Case 3
- <:#240,11088> ' Calculate the formula and return the answer
- <:#240,11088> AllocGlobalVar("{GlobalInstance}",1)
- <:#240,11088> hInstance = GetGlobalVar$("{GlobalInstance}")
- <:#240,11088> CECalcNow(hInstance,"{Form}",&Answer)
- <:#240,11088> Return Answer;
- <:#240,11088> Break;
- <:#240,11088>
- <:#240,11088>
- <:#240,11088> Case 0
- <:#240,11088> ' destroy the instance of the sheet and free the global var and libid
- <:#240,11088> AllocGlobalVar("{GlobalInstance}",1)
- <:#240,11088> AllocGlobalVar("{Mac}LibId",1)
- <:#240,11088> hInstance = GetGlobalVar$("{GlobalInstance}")
- <:#240,11088> LibId = GetGlobalVar$("{Mac}LibId")
- <:#240,11088> If hInstance
- <:#240,11088> CEDestroyInstance(hInstance)
- <:#240,11088> DllFreeLib(Libid)
- <:#240,11088> Endif
- <:#240,11088> FreeGlobalVar("{GlobalInstance}")
- <:#240,11088> FreeGlobalVar("{Mac}LibId")
- <:#240,11088> Break;
- <:#240,11088>
- <:#240,11088> Default
- <:#240,11088>EndSwitch
- <:#240,11088>End Function
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- @<:#240,11088>Function FontDlg(Action, Hdlg, id)
- <:#240,11088>' 1 Create a font and allocvar
- <:#240,11088>' 2 Return the handle of the create font
- <:#240,11088>' 3 Set the id specified to the font
- <:#240,11088>' 4 Freeglobalvar and delete created object
- <:#240,11088>
- <:#480,11088>define CreateFontDLG() DllCall("gdi,CreateFont,HHHHHHHHHHHHHHC", %1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12, %13, %14)
- <:#240,11088>define DeleteObjectDLG(handle) DllCall("gdi,DeleteObject,HH", %1)
- <:#240,11088>define SendMessageDLG(hwnd, msg, wpara, lparm) DllCall("user,SendMessage,HHHHJ", %1, %2, %3, %4)
- <:#240,11088>
- <:#240,11088>Mac = GetRunningMacroFile$()
- <:#240,11088>
- <:#240,11088>Switch Action
- <:#240,11088> Case 1 ' Create the font and store it
- <:#240,11088> Font = CreateFontDLG(13, 0, 0, 0, 400, 0, 0, 0, 128, 0, 0, 0, 32, "System") 'Helv
- <:#240,11088> AllocGlobalVar("{Mac}FontHandle",1)
- <:#240,11088> If Font
- <:#240,11088> SetGlobalVar("{Mac}FontHandle",Font)
- <:#240,11088> Return Font
- <:#240,11088> Else
- <:#240,11088> Return 0; ' no font
- <:#240,11088> Endif
- <:#240,11088> Break;
- <:#240,11088> Case 2 ' Return the handle to the font
- <:#240,11088> Handle = GetGlobalVar$("{Mac}FontHandle")
- <:#240,11088> If Handle
- <:#240,11088> Return Handle
- <:#240,11088> Else
- <:#240,11088> Return 0
- <:#240,11088> Endif
- <:#240,11088>
- <:#240,11088> Case 3 ' Set the id to the font
- <:#240,11088> Handle = GetGlobalVar$("{Mac}FontHandle")
- <:#240,11088> If Handle
- <:#240,11088> IdControl = GetDlgITem(Hdlg, id)
- <:#240,11088> SendMessageDlg(idControl, 0x30, Handle, 0)
- <:#240,11088> Return 1
- <:#240,11088> Else
- <:#240,11088> Return 0
- <:#240,11088> Endif
- <:#240,11088> Break;
- <:#240,11088>
- <:#240,11088> Case 4 ' Delete the font and clear the var
- <:#240,11088> Handle = GetGlobalVar$("{Mac}FontHandle")
- <:#240,11088> If Handle
- <:#240,11088> DeleteObjectDLG(Handle)
- <:#240,11088> Stat = 1
- <:#240,11088> Else
- <:#240,11088> Stat = 0
- <:#240,11088> Endif
- <:#240,11088> FreeGlobalVar("{Mac}FontHandle")
- <:#240,11088> Return Stat
- <:#240,11088> Default
- <:#240,11088> Message("Fontdlg received an invalid parameter {Action}")
- <:#240,11088>EndSwitch
- <:#240,11088>
- <:#240,11088>End Function
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>
- <:#240,11088>DIALOG Deprec
- <:#240,11088>-2134376448 17 79 49 158 114 "" "" "Dialog Title"
- <:#240,11088>FONT 8 "System"
- <:#240,11088>60 28 33 12 8001 1350631552 "edit" "" 0
- 60 42 33 12 8002 1350631552 "edit" "" 0
- <:#240,11088>60 56 33 12 8003 1350631552 "edit" "" 0
- 60 70 33 12 8004 1350631552 "edit" "" 0
- <:#240,11088>60 84 33 12 8005 1350631552 "edit" "" 0
- 60 98 33 12 8006 1350631552 "edit" "" 0
- <:#240,11088>114 2 40 13 1 1342373889 "button" "OK" 0
- <:#240,11088>114 18 40 13 3 1342373888 "button" "
- <:#240,11088>106 52 38 8 8010 1342177282 "static" "" 0
- <:#240,11088>98 39 57 29 20 1342177287 "button" "
- <:#240,11088>4 1 103 24 1000 1342177280 "static" "" 0
- <:#240,11088>4 29 56 8 1001 1342177280 "static" "value1text" 0
- 4 43 56 8 1002 1342177280 "static" "value2text" 0
- <:#240,11088>4 57 56 8 1003 1342177280 "static" "value3text" 0
- 4 71 56 8 1004 1342177280 "static" "value4text" 0
- <:#240,11088>4 85 56 8 1005 1342177280 "static" "value5text" 0
- 4 99 56 8 1006 1342177280 "static" "value6text" 0
- <:#240,11088>END DIALOG
- [Embedded]
- 00015248
-